package com.Java.train.member.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.sql.Time;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 车票
 * </p>
 *
 * @author luomoxingchen
 * @since 2024-10-08
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("ticket")
@ApiModel(value = "Ticket对象", description = "车票")
public class Ticket implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("会员id")
    @TableField("member_id")
    private Long memberId;

    @ApiModelProperty("乘客id")
    @TableField("passenger_id")
    private Long passengerId;

    @ApiModelProperty("乘客姓名")
    @TableField("passenger_name")
    private String passengerName;

    @ApiModelProperty("日期")
    @TableField("train_date")
    private Date trainDate;

    @ApiModelProperty("车次编号")
    @TableField("train_code")
    private String trainCode;

    @ApiModelProperty("箱序")
    @TableField("carriage_index")
    private Integer carriageIndex;

    @ApiModelProperty("排号|01, 02")
    @TableField("seat_row")
    private String seatRow;

    @ApiModelProperty("列号|枚举[SeatColEnum]")
    @TableField("seat_col")
    private String seatCol;

    @ApiModelProperty("出发站")
    @TableField("start_station")
    private String startStation;

    @ApiModelProperty("出发时间")
    @TableField("start_time")
    private Time startTime;

    @ApiModelProperty("到达站")
    @TableField("end_station")
    private String endStation;

    @ApiModelProperty("到站时间")
    @TableField("end_time")
    private Time endTime;

    @ApiModelProperty("座位类型|枚举[SeatTypeEnum]")
    @TableField("seat_type")
    private String seatType;

    @ApiModelProperty("新增时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty("修改时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}
